#!/usr/bin/env python3
"""
脚本名称：16_exe.py
面试描述：什么是“猴子补丁"(monkey patching)?
考察点:
    在Python中，猴子补丁通常用于:
    1) 快速修复 bug.
    2) 在某些具体情况下的行为覆盖。
    3) 测试中的 mock 对象(模拟并替换对象)
生活比喻：
作者：Gavin
创建日期：2025-05-27
版本：1.0
依赖库：无
使用方法： python 16_exe.py
"""


class Dog:
    def speak(self):
        return "Woof!"


def new_speak(*args):
    return "Meow!"


# 创建Dog类对象
dog = Dog()

# 原来的speak方法
print(dog.speak())  # 输出：Woof!

# 猴子补丁，使用new_speak替换speak方法
Dog.speak = new_speak

# 替换后的speak方法
print(dog.speak())  # 输出：Meow!
